home *** CD-ROM | disk | FTP | other *** search
- unit BDEDoRx7;
-
- interface
-
- uses
- SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
- Forms, Dialogs, StdCtrls, DB, DBTables;
-
- type
- TValFrm = class(TForm)
- ListBox1: TListBox;
- AddBtn: TButton;
- DropBtn: TButton;
- CancelBtn: TButton;
- GroupBox1: TGroupBox;
- Edit1: TEdit;
- Edit2: TEdit;
- Edit3: TEdit;
- Label1: TLabel;
- Label2: TLabel;
- Label3: TLabel;
- Edit4: TEdit;
- Label4: TLabel;
- Label5: TLabel;
- CheckBox1: TCheckBox;
- procedure FormCreate(Sender: TObject);
- procedure ListBox1Click(Sender: TObject);
- procedure AddBtnClick(Sender: TObject);
- procedure DropBtnClick(Sender: TObject);
- procedure SetButtonStatus(Sender: TObject);
- private
- procedure InitFields(ADataSet: TDBDataSet);
- procedure SetCenterPos;
- public
- end;
-
- var
- ValFrm: TValFrm;
-
- implementation
-
- {$R *.DFM}
-
- uses BDEDoRx1, BDEDoRxS;
-
- procedure TValFrm.InitFields(ADataSet: TDBDataSet);
- var i: integer;
- begin
- for i:=0 to pred(ADataSet.FieldCount) do
- with ADataSet.Fields[i] do
- ListBox1.Items.Add(FieldName);
- end;
-
- procedure TValFrm.FormCreate(Sender: TObject);
- begin
- CalcControlSize(self);
- InitFields(MainFrm.Table1);
- SetButtonStatus(Sender);
- end;
-
- {center on the application's active form before showing this form:}
- procedure TValFrm.SetCenterPos;
- var CFTop, CFLeft: integer;
- begin
- with Screen.ActiveForm do
- begin
- CFTop := (Height div 2) - ((self).Height div 2) + Top;
- CFLeft := (Width div 2) - ((self).Width div 2) + Left;
- (self).SetBounds(CFLeft, CFTop, (self).Width, (self).Height);
- end;
- end;
-
- procedure TValFrm.SetButtonStatus(Sender: TObject);
- begin
- AddBtn.Enabled := (ListBox1.ItemIndex > -1)
- and ((Edit1.Text > '') or (Edit2.Text > '')
- or (Edit3.Text > '') or (Edit4.Text > '')
- or CheckBox1.Checked);
- DropBtn.Enabled := AddBtn.Enabled;
- end;
-
- procedure TValFrm.ListBox1Click(Sender: TObject);
- var ValList: TStringList;
- FieldNo: integer;
- begin
- with ListBox1 do
- FieldNo := MainFrm.Table1.FindField(Items[ItemIndex]).FieldNo;
- ValList := TStringList.Create;
- try
- BDEGetValchecksForField(MainFrm.Table1,FieldNo,ValList);
- CheckBox1.Checked := (ValList.Values['Required'] = '1');
- Edit1.Text := ValList.Values['MinVal'];
- Edit2.Text := ValList.Values['MaxVal'];
- Edit3.Text := ValList.Values['DefVal'];
- Edit4.Text := ValList.Values['Picture'];
- finally
- ValList.Free;
- end;
- end;
-
- procedure TValFrm.AddBtnClick(Sender: TObject);
- const CBoolVerb: array[boolean] of shortstring = ('FALSE','TRUE');
- var ValList: TStringList;
- FieldNo: integer;
- begin
- ValList := TStringList.Create;
- try
- with ListBox1, ValList do
- begin
- FieldNo := MainFrm.Table1.FindField(Items[ItemIndex]).FieldNo;
- Add('FieldNo='+IntToStr(FieldNo));
- Add('Required='+CBoolVerb[CheckBox1.Checked]);
- Add('MinVal='+Edit1.Text);
- Add('MaxVal='+Edit2.Text);
- Add('DefVal='+Edit3.Text);
- Add('Picture='+Edit4.Text);
- BDEAddValchecksForField(MainFrm.Table1,FieldNo,ValList);
- end;
- finally
- ValList.Free;
- ListBox1Click(Sender);
- end;
- end;
-
- procedure TValFrm.DropBtnClick(Sender: TObject);
- var FieldNo: integer;
- begin
- with ListBox1 do
- FieldNo := MainFrm.Table1.FindField(Items[ItemIndex]).FieldNo;
- try
- BDEDropValChecksForField(MainFrm.Table1,FieldNo);
- finally
- ListBox1Click(Sender);
- end;
- end;
-
- end.
-